Skip to content

Conversation

oguzkocer
Copy link
Contributor

@oguzkocer oguzkocer commented Oct 10, 2025

Summary

Adds new wp_mobile crate for the application layer and updates the Kotlin bindings to use it. Includes several fixes for the Compose desktop app and Android Studio warnings.

Changes

Rust Changes

  • Add new wp_mobile crate that depends on wp_api for application-layer functionality
  • Configure UniFFI to generate bindings for both wp_mobile and wp_api from a single compiled library using library mode
  • Update wp_api/uniffi.toml to use cdylib_name = "wp_mobile"

Kotlin/Android Changes

  • Update Kotlin bindings to use wp_mobile as the primary module instead of wp_api
  • Rename rustModuleName to rustPrimaryModule for clarity
  • Fix Android Studio duplicate resource path warnings by separating desktop and integration test resource directories
  • Update Compose Multiplatform from 1.6.11 to 1.9.0 (compatible with Kotlin 2.1)
  • Fix deprecated URL(String) constructor warnings by using URI(String).toURL()

Desktop App Improvements

  • Add NativeLibraryLoader to extract and load WordPress native libraries from JAR at runtime
  • Generate BuildConfig at build time with Rust module name
  • Generate TestCredentials at build time from test_credentials.json to eliminate hardcoded credentials
  • Refactor desktop resource copying to be self-contained in composeApp's build script

@oguzkocer oguzkocer added this to the 0.2 milestone Oct 10, 2025
@oguzkocer oguzkocer marked this pull request as ready for review October 10, 2025 21:16
@oguzkocer oguzkocer enabled auto-merge (squash) October 10, 2025 21:16
@oguzkocer oguzkocer requested a review from jkmassel October 10, 2025 21:16
@oguzkocer oguzkocer merged commit ab1b930 into trunk Oct 10, 2025
22 checks passed
@oguzkocer oguzkocer deleted the wp_mobile-crate branch October 10, 2025 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants